package com.lottery.game.core.modules.service.redis;

import java.util.List;
import java.util.Set;

/**
 * @author : yinlin
 * @version : 1.0
 * @date : 2019-03-28 10:11
 * @Description :
 * @Copyright : Copyright (c) 2018
 * @Company : EasySite Technology Chengdu Co. Ltd.
 * @link : com.lottery.game.core.modules.service.redis.RedisService
 */
public interface RedisService {
    /**
     * 设置key->value
     * @param key
     * @param value
     */
    void set(String key, String value);

    /**
     * 设置key->value 过期时间
     * @param key
     * @param value
     * @param time
     */
    void set(String key, String value, int time);

    /**
     * 删除key
     * @param key
     */
    void delete(String key);

    /**
     * 获取key
     * @param key
     * @return
     */
    String get(String key);

    /**
     * 获取
     * @param keys
     * @return
     */
    Set<String> keys(String keys);

    /**
     * 设置redis list
     * @param key
     * @param list
     * @param <T>
     */
    <T> void setList(String key, List<T> list);

    /**
     * 获取list
     * @param key
     * @param <T>
     * @return
     */
    <T> List<T> getList(String key);
}
